package com.talkology.pilot.manager.model;

import java.util.Date;
import java.util.List;
import java.util.Objects;

public class TalkSalonMgtRest {
    private String talkSalonName;

    private String subject;

    private String teacher;

    private Integer studentLimit;

    private Integer useCredit;

    private Integer useMoney;

    private Date createdAt;

    private Date updatedAt;

    private List<String> timeSlots;

    public String getTalkSalonName() {
        return talkSalonName;
    }

    public void setTalkSalonName(String talkSalonName) {
        this.talkSalonName = talkSalonName;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getTeacher() {
        return teacher;
    }

    public void setTeacher(String teacher) {
        this.teacher = teacher;
    }

    public Integer getStudentLimit() {
        return studentLimit;
    }

    public void setStudentLimit(Integer studentLimit) {
        this.studentLimit = studentLimit;
    }

    public List<String> getTimeSlots() {
        return timeSlots;
    }

    public void setTimeSlots(List<String> timeSlots) {
        this.timeSlots = timeSlots;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Integer getUseCredit() {
        return useCredit;
    }

    public void setUseCredit(Integer useCredit) {
        this.useCredit = useCredit;
    }

    public Integer getUseMoney() {
        return useMoney;
    }

    public void setUseMoney(Integer useMoney) {
        this.useMoney = useMoney;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        TalkSalonMgtRest that = (TalkSalonMgtRest) o;
        return Objects.equals(talkSalonName, that.talkSalonName) &&
                Objects.equals(subject, that.subject) &&
                Objects.equals(teacher, that.teacher) &&
                Objects.equals(studentLimit, that.studentLimit) &&
                Objects.equals(useCredit, that.useCredit) &&
                Objects.equals(useMoney, that.useMoney) &&
                Objects.equals(createdAt, that.createdAt) &&
                Objects.equals(updatedAt, that.updatedAt) &&
                Objects.equals(timeSlots, that.timeSlots);
    }

    @Override
    public int hashCode() {
        return Objects.hash(talkSalonName, subject, teacher, studentLimit, useCredit, useMoney, createdAt, updatedAt, timeSlots);
    }

    @Override
    public String toString() {
        return "TalkSalonMgtRest{" +
                "talkSalonName='" + talkSalonName + '\'' +
                ", subject='" + subject + '\'' +
                ", teacher='" + teacher + '\'' +
                ", studentLimit=" + studentLimit +
                ", useCredit=" + useCredit +
                ", useMoney=" + useMoney +
                ", createdAt=" + createdAt +
                ", updatedAt=" + updatedAt +
                ", timeSlots=" + timeSlots +
                '}';
    }
}
